CAD (Computer Aided Design) software allows a circuit design to be described in great detail and at any arbitrary scale. However, the interface to CAD systems is still largely through the traditional avenues of screen, keyboard, and pointing devices. While these interfaces function for their intended purposes, such as text entry, pointing, and browsing, they are not designed for the purpose of mediating the flow of information from and to a physical workpiece. Traditional input interfaces are limited in the sense that they lack a direct connection with the workpiece, forcing the user to translate information gathered from the workpiece before it can be input into the computer. A similar disconnect also exists in the realm of output from the computer. On one extreme, the screen as an output interface forces the user to interpret and translate information conveyed graphically to the context of the workpiece at hand. On the other, devices like CNC machines and 3D printers lack a way for the user to engage with the fabrication and to iteratively change design parameters in real time.
Use of Electronic Design Automation (EDA) software has become quite popular in the design of Printed Circuit Boards (PCBs). A very common paradigm is to design the schematics first and then convert them to a PCB layout. The resulting PCB layout can then be fabricated and assembled with electronic components. Access to the schematic design data of a PCB is quite helpful while testing and assembling a PCB, as it gives the user a good idea of how the components are connected. This becomes even more important while debugging a PCB or while diagnosing a PCB for a fault.
The tools used to work with Printed Circuit Boards (PCBs), such as, for example, soldering iron, multi-meter, and oscilloscope, involve working directly with the board and the board components. However, the Electronic Design Automation (EDA) software used to query a PCB's design data requires using a keyboard and a mouse. These different interfaces make it difficult to connect both kinds of operations in a workflow. Further, the measurements made by tools like a multi-meter have to be understood in the context of the schematics of the board manually.
Production testing of commercial scale PCBs generally employs a custom made multi-wire probe that automatically engages strategic testpoints on the board. The boards are usually extensively manually probed while being tested and debugged. While most modern EDA software offers an easy to use WYSIWYG interface, the keyboard and mouse interface required to query and annotate design data on EDA software creates a disconnect in the workflow of assembling or testing a PCB. This is because most operations and tools used to assemble or test a PCB involve working directly with the circuit board and its components. However, in order to locate a component in the schematic or in the PCB layout, the user either has to try to find a visually similar pattern in the PCB layout file or key in the identifier for the component from the PCB silkscreen annotation. Both of these are cumbersome and lead to unnecessary cognitive load. Small component sizes and similar looking components further magnify this problem.
Experienced electronics designers work their way around this by annotating the board with design data, for example descriptors, part-numbers, component values, etc. However, the board space limits the amount of design information that can be embedded in the annotations
Previous work on providing just-in-time information about electronic circuits involves the use of tagged components to track their positions in the circuit [for example, Asgar, Z., Chan, J., Liu, C. & Blikstein, P. LightUp: a low-cost, multi-age toolkit for learning and prototyping electronics. In Proc. IDC 2011 225-226]. However, this technique requires specially constructed components.
J. R. R. Louis B. Rosenberg, “Component Position Verification Using a Probe Apparatus” [U.S. Pat. No. 6,195,618, Feb. 27, 2001] describes a position-orientation tracked probe that is used to verify component positions on a circuit board. The Rosenberg device only supports component verification and is built for manufacturing test setups. It does not support annotation and query of all the design data that a circuit board might have, such as schematics, PCB, simulation, and component datasheets. It also does not provide a way to interface with instrumentation to capture, display, and analyze measurements against simulated data.
In the FreeD system [Zoran, Amit & Joseph A. Paradiso. “FreeD—A Freehand Digital Sculpting Tool”, Proc. CHI 2013: 2613-2616], a position orientation tracked hand tool is used to provide interaction with the physical work piece and the design data at the same time. However, FreeD does not provide for a way to introspect design data especially design data describing electronic circuits. Also, FreeD does not provide for a way to annotate the design data with measurements made on the workpiece.
An apparatus to perform tests on electronic circuits automatically is described by Rashidzadeh, “Apparatus for the automated testing and validation of electronic components”, PCT/CA2012/000214 [WO2012126087]. While this apparatus allows for completely automatic testing and measurements of circuits, it needs to be programmed specifically for the electronic circuit under test and for the particular test.